Call centers are systems that enable a pool of agents to serve incoming and/or outgoing calls, with the calls being distributed and connected to whichever of the agents happen to be available at the time. When no agents are free and available to handle additional calls, additional incoming calls are typically placed in a holding queue to await an available agent. It is common practice to divide the pool of agents into a plurality of groups, commonly referred to as splits, and to assign different types of calls to different splits. For example, different splits may be designated to handle calls pertaining to different client companies, or calls pertaining to different products or services of the same client company. Alternatively, the agents in different splits may have different skills, and calls requiring different ones of these skills are then directed to different ones of these splits. Each split typically has its own incoming call queue.
Furthermore, some large companies find it effective to have a plurality of call centers, each for handling calls within a different geographical area, for example, Each call center, or each split within each call center, typically has its own incoming call queue. In a multiple queue environment, it can happen that one call center or split is heavily overloaded with calls and has a full queue of calls waiting for an available agent, while another call center or split may be only lightly overloaded and yet another call center or split may not be overloaded at all and actually may have idle agents. To alleviate such inefficiencies, some call centers have implemented a capability whereby, if the primary (preferred) split or call center for handling a particular call is heavily overloaded and its queue is overflowing with waiting calls, the call center evaluates the load of the other (backup) splits or call centers to determine if one of the other splits or call centers is less busy and consequently may be able to handle the overflow call and do so more promptly. The overflow call is then queued to the first such backup split or call center that is found, instead of being queued to the primary split or call center. Such arrangements are known by different names, one being “Look Ahead Interflow.”
In order to balance work across a network of call centers, the decision as to where a call should be routed is typically made based on the estimated waiting time that a call will experience with respect to a particular switch. The objective is to find the switch within a network of switches where it is predicted that the call will be answered in the shortest period of time. In situations where an enterprise has contracted with its customers to service calls within a given period of time, sending calls to the switch with the shortest waiting time does not necessarily maximize the number of customers who are serviced within the contracting period. In particular, although doing so will generally reduce the average waiting time of calls, this is not the same as maximizing the number of calls serviced within the contracted time.